package com.ics.atable.chat.model.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 人类反馈请求
 *
 * @author haohongbin
 */
@Schema(description = "人类反馈请求")
public record FeedbackRequest(
        /**
         * 会话 ID，用于标识当前对话的唯一性
         */
        @Schema(description = "会话 ID, 用于标识当前对话的唯一性。")
        @JsonProperty(value = "session_id", defaultValue = "__default__") String sessionId,

        /**
         * 是否需要人类反馈
         */
        @Schema(description = "是否需要人类反馈")
        @JsonProperty(value = "feedback", defaultValue = "true") Boolean feedBack,

        /**
         * 用户反馈内容
         */
        @Schema(description = "用户反馈内容")
        @JsonProperty(value = "feedback_content", defaultValue = "") String feedBackContent,

        /**
         * 会话类型
         */
        @Schema(description = "会话类型, 用于指定请求的类型，包括string、node_object。 默认值为 'node_object'，表示节点对象类型。")
        @JsonProperty(value = "type", defaultValue = "node_object") String type) {
}
